GtkWidget *gtk_path;
GtkWidget *gtk_exe_prefix;
GtkWidget *gtk_data_prefix;
+ GtkWidget *touchscreen_switch;
};
G_DEFINE_TYPE_WITH_PRIVATE (GtkInspectorGeneral, gtk_inspector_general, GTK_TYPE_BOX)
set_path_label (gen->priv->gtk_data_prefix, "GTK_DATA_PREFIX");
}
+static void
+update_touchscreen (GtkSwitch *sw, GParamSpec *pspec, GtkInspectorGeneral *gen)
+{
+ GtkDebugFlag flags;
+
+ flags = gtk_get_debug_flags ();
+
+ if (gtk_switch_get_active (sw))
+ flags |= GTK_DEBUG_TOUCHSCREEN;
+ else
+ flags &= ~GTK_DEBUG_TOUCHSCREEN;
+
+ gtk_set_debug_flags (flags);
+}
+
+static void
+init_touch (GtkInspectorGeneral *gen)
+{
+ gtk_switch_set_active (GTK_SWITCH (gen->priv->touchscreen_switch), (gtk_get_debug_flags () & GTK_DEBUG_TOUCHSCREEN) != 0);
+ g_signal_connect (gen->priv->touchscreen_switch, "notify::active",
+ G_CALLBACK (update_touchscreen), gen);
+}
+
static void
gtk_inspector_general_init (GtkInspectorGeneral *gen)
{
gtk_widget_init_template (GTK_WIDGET (gen));
init_version (gen);
init_env (gen);
+ init_touch (gen);
}
static void
gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorGeneral, gtk_path);
gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorGeneral, gtk_exe_prefix);
gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorGeneral, gtk_data_prefix);
+ gtk_widget_class_bind_template_child_private (widget_class, GtkInspectorGeneral, touchscreen_switch);
}
// vim: set et sw=2 ts=2:
</child>
</object>
</child>
+ <child>
+ <object class="GtkFrame" id="touch_frame">
+ <property name="visible">True</property>
+ <property name="halign">center</property>
+ <child>
+ <object class="GtkListBox">
+ <property name="visible">True</property>
+ <property name="selection-mode">none</property>
+ <child>
+ <object class="GtkBox">
+ <property name="visible">True</property>
+ <property name="orientation">horizontal</property>
+ <property name="margin">10</property>
+ <property name="spacing">40</property>
+ <child>
+ <object class="GtkLabel" id="touchscreen_label">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Simulate touchscreen</property>
+ <property name="halign">start</property>
+ <property name="valign">baseline</property>
+ <property name="xalign">0.0</property>
+ </object>
+ </child>
+ <child>
+ <object class="GtkSwitch" id="touchscreen_switch">
+ <property name="visible">True</property>
+ <property name="halign">end</property>
+ <property name="valign">baseline</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
</template>
<object class="GtkSizeGroup">
<property name="mode">horizontal</property>
<widget name="gtk_path_label"/>
<widget name="gtk_exe_prefix_label"/>
<widget name="gtk_data_prefix_label"/>
+ <widget name="touchscreen_label"/>
</widgets>
</object>
<object class="GtkSizeGroup">
<widgets>
<widget name="version_frame"/>
<widget name="env_frame"/>
+ <widget name="touch_frame"/>
</widgets>
</object>
</interface>